ゼロトラストネットワーク ―― 境界防御の限界を超えるためのセキュアなシステム設計
著者 : Evan Gilman、Doug Barth
監訳 : 鈴木研吾
https://www.oreilly.co.jp/books/9784873118888/
https://images-fe.ssl-images-amazon.com/images/I/51B5tnqIRQL._SY291_BO1,204,203,200_QL40_ML2_.jpg
Amazon : https://amzn.to/3UirYY5
ゼロトラストネットワークについての書籍
内容メモ
1 章 ゼロトラストの基礎
ゼロトラスト
ゼロトラストネットワークの 5 つの基本的な原則
ローカルネットワークへのアクセスという要件をなくすと、VPN も無用の長物になる
コントロールプレーンとデータプレーン (参考 : ゼロトラストアーキテクチャ)
従来のアーキテクチャは境界モデル (perimeter model) と呼ばれる
コンピュータネットワークの歴史
1998 年に発足した IANA がグローバル IP アドレスの管理をしている (それ以前はジョン・ポステルが担っていた)
nobuoka.icon 1998 年はさすがに遅すぎるからなんか間違ってる気がする?
1998 年は ICANN の設立っぽい
グローバル IP アドレス空間の無駄遣いが問題になり、RFC 1597 が発表 : プライベートネットワークの IP アドレスレンジ
プライベートネットワークをインターネット接続 → インターネットからの侵入の脅威
境界モデルの誕生
プライベートネットワークからインターネットへの接続の需要が増加 → NAT の誕生
RFC 1631
NAT やファイアウォールの配置により、セキュリティゾーンが明確に形成
内部の信頼できる (セキュアな) ゾーン、DMZ、信頼できないゾーン (インターネット) の 3 つ
ゼロトラストネットワークを構築して運用するには自動化が必要
コントロールプレーンとデータプレーンの間のやり取りが、自動化が必要になる最も重要な点
2 章 信頼と信用の管理
信頼と信用の管理がゼロトラストネットワークの最も重要な構成要素
運用者から信頼を委任する (例えばプロビジョニングシステムに責務を委任する)
運用者に信頼が回帰する流れがトラストチェーン (trust chain) であり、運用者がトラストアンカー
脅威モデル
RFC 3552 でインターネット脅威モデルが定義されている
ゼロトラストネットワークは、このインターネット脅威モデルにおおむね従っている
ネットワーク内のエンドポイントも明示的に制御する (エンドポイントでの攻撃も視野に)
相手が信頼できる人物 (やアプリケーションなど) であることをどう認識するか?
強力な認証 : X.509
公開鍵 (public key) と秘密鍵 (private key) の 2 つの暗号鍵を利用
流出や窃取での被害を最小限に抑えるため、クレデンシャルのローテーション (credential rotation) を実施
公開鍵が正しいことをどう知るか? → 公開鍵基盤 (PKI)
本書では、一般的に使用されている認証局による PKI に焦点
ゼロトラストネットワークでは、PKI は認証の基盤 : ネットワーク全体でのアイデンティティの証明に PKI を利用
ゼロトラストネットワークでは非常に多くの証明書が発行されるので、自動化が重要
ゼロトラストネットワークではプライベート PKI が推奨
パブリック PKI にもメリットはあるが、コスト (手数料) がかかる点と公的機関を完全に信頼することが難しい点がネック
最小権限 : 基本的には通常行う業務に必要な権限のみ付与
たまに特別な権限が必要な場合は、改めて認証を行って権限昇格
ゼロトラストネットワークでは、デバイスの権限も考慮
信用をスコア化してポリシーで考慮する
3 章 ネットワークエージェント
ユーザーとデバイスの組み合わせ : 本書でネットワークエージェント (network agent) と呼ぶもの
信用スコア (trust score)
エージェントに対して認可する (ポリシーもエージェントに対して定義する)
あくまで認可コンポーネントであり、認証にはいっさい関与しない (認証は、ユーザーとデバイスを別々に実施)
標準は存在しない
ベンダー固有の局所的な情報を含むデータフォーマットの規格 : SNMP (Simple Network Management Protocol) や MIB (Management Information Base) など
4 章 認可の判断
ゼロトラストの認可アーキテクチャの 4 コンポーネント
エンフォーサ : システム全体に点在 (一般に、ロードバランサやプロキシ、ファイアウォールとして実装される)
ポリシーエンジンとやり取りする
ポリシーエンジン : リクエストとコンテキストをポリシーと比較して、リクエストが許可されるかどうかをエンフォーサに伝える
トラストエンジン : ポリシーエンジンがリスク分析に利用する
信用スコアを計算するために複数のデータソースを利用する
データストア
5 章 デバイスの信頼と信用
ゼロトラストにおいてシステムがデバイスを信用する方法
6 章 ユーザーの信頼と信用
ゼロトラストにおいてシステムがユーザーの信頼と信用を確立する方法
7 章 アプリケーションの信頼と信用
「Software is eating the world」 という世界で、ソフトウェアが信用できることは重要
デバイスの信用は話の半分で、信用できるデバイス上で動くコードを信用するための作業はさらにある
アプリケーションの信用を確立する
8 章 トラフィックの信頼と信用
ゼロトラストにおいてトラフィックの信頼と信用を確立する
9 章 ゼロトラストネットワークの実現
ゼロトラストネットワークを実現する方法
ゼロトラストネットワークへの移行事例 : Google BeyondCorp
ゼロトラストネットワークへの移行事例 : PagerDuty のクラウドに依存しないネットワーク
10 章 攻撃者の視点
IETF で管理される全ての RFC には 「security considerations」 と呼ばれる項目を含めるよう義務付けられている
ゼロトラストモデルと関連のあるセキュリティの穴 (ゼロトラストネットワークに侵入するなら?)
なりすまし
DDoS 攻撃
パケットを受信できるシステムは、どんなものもほぼ Volumetric DDoS 攻撃に対して脆弱
エンドポイントの列挙
境界がないので、外から観測しやすい
ゼロトラストモデルは機密性を提供するがプライバシーは提供しない (存在はばれる)
信用できないコンピューティングプラットフォーム
ソーシャルエンジニアリング
物理的な脅威
など
監訳者あとがき
本書における Trust は信用か信頼か
ゼロトラストモデルのキーワード : 「Never Trust, Always Verify」
基本は 「信用」 と訳し、認証局などのトラストアンカーを指す場合は 「信頼」 とした
アイデンティティ (Identity) とは何か
#書籍